using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Reflection;

namespace OpenComposite.EII.Services
{
	public interface IRepositoryChangeService
	{
		// Methods
		void OnRepositoryChanging(Repository.IRepositoryItem repositoryItem, MemberInfo member,
								  object newValue);
		void OnRepositoryChanged(Repository.IRepositoryItem repositoryItem, MemberInfo member,
								 object oldValue, object newValue);

		// Events
		event RepositoryEventHandler RepositoryAdding;
		event RepositoryEventHandler RepositoryAdded;
		event RepositoryChangingEventHandler RepositoryChanging;
		event RepositoryChangedEventHandler RepositoryChanged;
		event RepositoryEventHandler RepositoryRemoving;
		event RepositoryEventHandler RepositoryRemoved;
		event RepositoryRenameEventHandler RepositoryRenamed;
	}



}
